home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / basic / shooter.exe / DEMO.BAS < prev    next >
BASIC Source File  |  1991-12-07  |  12KB  |  284 lines

  1. '
  2. ' DEMO.BAS
  3. '
  4. ' This is QuickBasic (tm) source code to demonstrate how easy it is to
  5. ' use the data generated by SHAPE SHOOTER's GEN DATA option in your own
  6. ' programs.
  7. '
  8. DEFINT A-Z                      'Treat variables as INTEGER by default
  9. CONST DELAY = 5000              'This demo was created on a 40MHz 80386
  10.                                 'so you may want to change the DELAY constant
  11. '
  12. ' Dimension arrays to hold shape data for three cowboy frames (TEX1, TEX2,
  13. ' and TEX3). The arrays must be of type LONG integer.
  14. '
  15. ' We know to dimension them with at least 385 elements (0 -384) since
  16. ' SHAPE SHOOTER gives us this information in the frame comment before
  17. ' each block of DATA statements (ELEM: 385).
  18. '
  19. DIM SHARED TEX1(384) AS LONG
  20. DIM SHARED TEX2(384) AS LONG
  21. DIM SHARED TEX3(384) AS LONG
  22. '
  23. ' Now we read the data from DATA statements into the three arrays
  24. '
  25. FOR I = 0 TO 384
  26.   READ TEX1(I)
  27. NEXT I
  28. FOR I = 0 TO 384
  29.   READ TEX2(I)
  30. NEXT I
  31. FOR I = 0 TO 384
  32.   READ TEX3(I)
  33. NEXT I
  34. '
  35. ' Next we enter high resoulution VGA screen mode 12
  36. '
  37. SCREEN 12
  38. CLS
  39. PRINT TAB(25); "SHAPE SHOOTER DEMO PROGRAM"
  40. TexFlag = 0
  41. FOR XY = 0 TO 200               'Loop to move Tex from (0,0) to (200,200)
  42.                                 'We will only change between TEX1 shape and
  43.                                 'TEX2 shape when we have moved at least 6
  44.                                 'locations using one shape.
  45.  
  46.   IF TexFlag < 6 THEN           'We will use TEX1.
  47.     PUT (XY, XY), TEX1          'Put TEX1 shape on screen at XY,XY.
  48.     FOR I = 1 TO DELAY          'Wait around so we get to see it.
  49.     NEXT I
  50.     TexFlag = TexFlag + 1       'Record number of times same shape is used.
  51.     PUT (XY, XY), TEX1          'Put TEX1 in same spot to erase it (XOR).
  52.   ELSE
  53.     PUT (XY, XY), TEX2          'We will use TEX2.
  54.     FOR I = 1 TO DELAY          'Wait around so we get to see it.
  55.     NEXT I
  56.     TexFlag = TexFlag + 1       'Record number of times same shape is used.
  57.     IF TexFlag > 12 THEN        'Done with TEX2...
  58.       TexFlag = 0               '               ...Prepare for TEX1
  59.       SOUND 50, 2 / 10          'Sound of one footstep.
  60.     END IF
  61.     PUT (XY, XY), TEX2          'Put TEX2 in same spot to erase it (XOR).
  62.   END IF
  63.   IF TexFlag = 6 THEN SOUND 100, 2 / 10  'Sound of other footstep.
  64.   SaveXY = XY                   'Remember last x,y location.
  65. NEXT XY
  66. PUT (SaveXY, SaveXY), TEX3      'Draw TEX3 (shooting)
  67. FOR I = 800 TO 37 STEP -2       'Make a little noise.
  68.   SOUND I, I / 10000
  69. NEXT I
  70. END
  71. '
  72. ' These are the DATA statements generated by SHAPE SHOOTER's GEN DATA
  73. ' option (F8).
  74. ' Note the FILE comment is used to create a label (DEMODATA:) and the
  75. ' FRAME comment is placed before each block of shape data, along with
  76. ' the number of elements that make up the shape (i.e. ELEM: 385).  Also
  77. ' provided, is the X, Y frame size.  (This can be changed in SHAPE SHOOTER
  78. ' by pressing shift-F1)
  79. '
  80. DEMODATA:
  81. 'TEX1.WOW ELEM: 385  X: 64  Y: 48
  82. DATA  3145792 , 0 , 0 , 570425344 , 0 , 570425344
  83. DATA  0 , 570425344 , 0 , 0 , 0 , 905969664
  84. DATA  0 , 905969664 , 0 , 905969664 , 0 , 0
  85. DATA  0 , 2130706432 , 0 , 2130706432 , 0 , 2130706432
  86. DATA  0 , 0 , 0 , 2130706432 , 0 , 2130706432
  87. DATA  0 , 2130706432 , 0 , 0 , 0 , 2130706432
  88. DATA  0 , 2130706432 , 0 , 2130706432 , 0 , 0
  89. DATA  0 ,-10485760 , 131 ,-10485760 , 131 ,-10485760
  90. DATA  131 , 0 , 0 ,-13107200 , 142 ,-13107200
  91. DATA  142 ,-13107200 , 142 , 0 , 0 ,-15794176
  92. DATA  248 ,-15794176 , 248 ,-15794176 , 248 , 0
  93. DATA  0 ,-16580608 , 224 ,-16580608 , 224 ,-16580608
  94. DATA  224 , 1040187392 , 0 , 1040187392 , 0 , 1040187392
  95. DATA  0 , 1040187392 , 0 , 1040187392 , 0 , 1040187392
  96. DATA  0 , 1040187392 , 0 , 1040187392 , 0 , 469762048
  97. DATA  0 , 469762048 , 0 , 469762048 , 0 , 469762048
  98. DATA  0 , 469762048 , 0 , 469762048 , 0 , 469762048
  99. DATA  0 , 469762048 , 0 , 469762048 , 30 , 0
  100. DATA  0 , 0 , 0 , 469762048 , 30 ,-16580608
  101. DATA  49407 , 0 , 0 , 0 , 0 ,-16580608
  102. DATA  49407 ,-15794176 , 57599 , 0 , 0 , 0
  103. DATA  0 ,-15794176 , 57599 ,-12648448 , 61681 , 0
  104. DATA  0 , 0 , 0 ,-12648448 , 61681 ,-8454144
  105. DATA  28864 , 0 , 0 , 0 , 0 ,-8454144
  106. DATA  28864 ,-262144 , 14464 , 0 , 0 , 0
  107. DATA  0 ,-262144 , 14464 ,-1048576 , 14464 , 0
  108. DATA  0 , 0 , 0 ,-1048576 , 14464 ,-2096896
  109. DATA  63616 , 393216 , 49152 , 393216 , 49152 ,-2096896
  110. DATA  63616 ,-4193536 , 28800 , 470220800 , 24576 , 470220800
  111. DATA  24576 ,-473955584 , 28800 , 1048576768 , 61440 , 1040384000
  112. DATA  61440 , 1040384000 , 61440 , 8389376 , 61440 , 469763840
  113. DATA  28672 ,-16579072 , 28800 ,-16579072 , 28800 , 198400
  114. DATA  28672 , 3840 , 0 ,-16576768 , 128 ,-16576768
  115. DATA  128 , 200448 , 0 , 1024 , 0 ,-16579584
  116. DATA  128 ,-16579584 , 128 , 197632 , 0 , 0
  117. DATA  0 ,-16580608 , 224 ,-16580608 , 224 , 131072
  118. DATA  0 , 0 , 0 ,-15794176 , 248 ,-15794176
  119. DATA  248 , 0 , 0 , 0 , 0 ,-2145452032
  120. DATA  120 ,-2145452032 , 120 , 0 , 0 , 0
  121. DATA  0 , 8323072 , 124 , 8323072 , 124 , 0
  122. DATA  0 , 0 , 0 , 16646144 , 30 , 16646144
  123. DATA  30 , 0 , 0 , 0 , 0 , 16253184
  124. DATA  31 , 16253184 , 31 , 0 , 0 , 0
  125. DATA  0 , 15728896 , 15 , 15728896 , 15 , 0
  126. DATA  0 , 0 , 0 , 16253184 , 15 , 16253184
  127. DATA  15 , 0 , 0 , 0 , 0 , 16252928
  128. DATA  32775 , 16252928 , 32775 , 0 , 0 , 0
  129. DATA  0 , 8126464 , 32775 , 8126464 , 32775 , 0
  130. DATA  0 , 0 , 0 , 4063232 , 32775 , 4063232
  131. DATA  32775 , 0 , 0 , 0 , 0 , 2031616
  132. DATA  15 , 2031616 , 15 , 0 , 0 , 0
  133. DATA  0 , 983040 , 15 , 983040 , 15 , 0
  134. DATA  0 , 0 , 0 , 1966080 , 31 , 1966080
  135. DATA  31 , 0 , 0 , 0 , 0 , 4063232
  136. DATA  30 , 4063232 , 30 , 0 , 0 , 0
  137. DATA  0 , 3670016 , 62 , 3670016 , 62 , 0
  138. DATA  0 , 0 , 0 , 0 , 124 , 0
  139. DATA  124 , 0 , 0 , 0 , 0 , 0
  140. DATA  248 , 0 , 248 , 0 , 0 , 0
  141. DATA  0 , 0 , 240 , 0 , 240 , 0
  142. DATA  0 , 0 , 0 , 0 , 248 , 0
  143. DATA  248 , 0 , 0 , 0 , 0 , 0
  144. DATA  60 , 0 , 60 , 0 , 0 , 0
  145. DATA  0 , 0 , 30 , 0 , 30 , 0
  146. DATA  0
  147. 'TEX2.WOW ELEM: 385  X: 64  Y: 48
  148. DATA  3145792 , 0 , 0 , 0 , 136 , 0
  149. DATA  136 , 0 , 136 , 0 , 0 , 0
  150. DATA  216 , 0 , 216 , 0 , 216 , 0
  151. DATA  0 , 16777216 , 252 , 16777216 , 252 , 16777216
  152. DATA  252 , 0 , 0 , 16777216 , 252 , 16777216
  153. DATA  252 , 16777216 , 252 , 0 , 0 ,-2097086464
  154. DATA  3326 ,-2097086464 , 3326 ,-2097086464 , 3326 , 0
  155. DATA  0 ,-486539264 , 14590 ,-486539264 , 14590 ,-486539264
  156. DATA  14590 , 0 , 0 , 1056964608 , 57599 , 1056964608
  157. DATA  57599 , 1056964608 , 57599 , 0 , 0 , 251658240
  158. DATA  33023 , 251658240 , 33023 , 251658240 , 33023 , 0
  159. DATA  248 , 0 , 248 , 0 , 248 , 0
  160. DATA  248 , 0 , 248 , 0 , 248 , 0
  161. DATA  248 , 0 , 248 , 0 , 112 , 0
  162. DATA  112 , 0 , 112 , 0 , 112 , 0
  163. DATA  112 , 0 , 112 , 0 , 112 , 0
  164. DATA  112 ,-268435456 , 112 , 0 , 0 , 0
  165. DATA  0 ,-268435456 , 112 ,-16318464 , 33023 , 0
  166. DATA  0 , 0 , 0 ,-16318464 , 33023 ,-15794176
  167. DATA  57599 , 0 , 0 , 0 , 0 ,-15794176
  168. DATA  57599 , 522125312 , 63743 , 0 , 0 , 0
  169. DATA  0 , 522125312 , 63743 , 119275520 , 64767 , 0
  170. DATA  0 , 0 , 0 , 119275520 , 64767 , 54001664
  171. DATA  32510 , 0 , 0 , 0 , 0 , 54001664
  172. DATA  32510 , 54001664 , 7934 , 0 , 0 , 0
  173. DATA  0 , 54001664 , 7934 , 54394880 , 4094 , 403046400
  174. DATA  0 , 403046400 , 0 , 54394880 , 4094 , 52166656
  175. DATA  8390654 , 470548480 , 112 , 470548480 , 112 , 52166656
  176. DATA  8390542 , 1966080 , 8389624 , 203292672 , 248 , 203292672
  177. DATA  248 , 1966080 , 8389376 , 1835008 , 12583280 , 253493248
  178. DATA  12583166 , 253493248 , 12583166 , 203161600 , 12583168 , 0
  179. DATA  14680320 , 251658240 , 14680574 , 251658240 , 14680574 , 201326592
  180. DATA  14680320 , 0 , 4194304 , 251658240 , 4194558 , 251658240
  181. DATA  4194558 , 201326592 , 4194304 , 0 , 0 , 251658240
  182. DATA  255 , 251658240 , 255 , 67108864 , 0 , 0
  183. DATA  0 , 1056964608 , 57599 , 1056964608 , 57599 , 0
  184. DATA  0 , 0 , 0 , 1006632960 , 61443 , 1006632960
  185. DATA  61443 , 0 , 0 , 0 , 0 , 2080374784
  186. DATA  64513 , 2080374784 , 64513 , 0 , 0 , 0
  187. DATA  0 ,-268435456 , 65024 ,-268435456 , 65024 , 0
  188. DATA  0 , 0 , 0 ,-268369920 , 16128 ,-268369920
  189. DATA  16128 , 0 , 0 , 0 , 0 ,-536805376
  190. DATA  7936 ,-536805376 , 7936 , 0 , 0 , 0
  191. DATA  0 ,-536805376 , 16128 ,-536805376 , 16128 , 0
  192. DATA  0 , 0 , 0 ,-1073545216 , 15872 ,-1073545216
  193. DATA  1587